import BaseModel from "@/utils/base/model";

export class BaseParamsData extends BaseModel {
	constructor(data : Partial<BaseParamsData> = {}) {
		super();
		Object.assign(this, data);
	}
}

export class PrivacyAgreementData extends BaseModel {
	/** 主键 ID */
	id : string = "";
	/** 创建者 ID */
	creator : string = "";
	/** 创建时间 */
	createDate : string = "";
	/** 更新者 ID */
	updater : string = "";
	/** 更新时间 */
	updateDate : string = "";
	/** 创建者名称 */
	createName : string = "";
	/** 标题 */
	title : string = "";
	/** 类型 */
	type : string = "";
	/** 备注/内容 */
	remark : string = "";

	/**
	 * 构造函数，通过传入的部分隐私协议数据对象，初始化隐私协议的属性。
	 * @param data - 用于初始化隐私协议数据的部分字段
	 */
	constructor(data : Partial<PrivacyAgreementData> = {}) {
		super();
		Object.assign(this, data);
	}

	/**
	 * 获取简短的标题和内容摘要。
	 */
	get brief() : string {
		return `${this.title} - ${this.remark.substring(0, 20)}...`;
	}
}